1. Technical Field
This invention relates generally to systems and methods for load sharing message traffic within a network. More particularly, the invention relates to a method for managing message traffic using load sharing between signaling links in a common channel signaling network.
2. History of Related Art
The SS7 (also called Signaling System No. 7) signaling protocol provides a practical method for implementing sophisticated, network-based intelligence services by providing “out-of-band” signaling using a separate high-speed data link for controlling telephone call setup and routing. As the demand for network-based intelligence services, such as calling number delivery and automatic callback has increased, a need to add traffic capacity and improve load balancing capabilities of the SS7 network has been recognized.
In response to this need, the standards bodies responsible for setting SS7 network standards have issued requirements to be met by SS7 network providers. The International Telecommunications Union (ITU) has also made recommendations, such as the Telecommunication Standardization Sector of ITU (ITU-T) Q.704 (herein incorporated by reference in its entirety), which addresses signaling network functions and messages, including message routing and load sharing within a link set. This recommendation addresses the distribution of message loading between signaling links, whether they belong to the same link set or not. The message routing function is based on information contained in the routing label, namely, on the Destination Point Code (DPC) and on the signaling link selection field. In some circumstances, the service indicator may also be required.
Each signaling point has routing information that allows it to determine the signaling link over which a message should be sent. Typically, the DPC is associated with more than one signaling link that may be used to carry the message. Thus, the Signaling Link Selection (SLS) code is a part of the Signaling Information Field (SIF). The SLS code is used by the Message Transfer Part (MTP) to determine the link set and the signaling link that will be used to carry traffic for every one of the SLS values.
The first step is to determine, using the MTP of the SS7, which load shared link sets will be used to carry which SLS codes. In the case of two load sharing link sets, the decision is based on the Load Sharing Bit (LSHB) method. That is, one of the four bits in the SLS code is selected, and the value of the bit is used to divide the messages into two sets; the first, for example, takes messages having the SLS code bit equal to zero and sends them to the first link set, and the second, having messages including an SLS code with the selected bit set to one, are sent to the second link set. The prior art table 1 shows how the LSHB can be used to determine which link set (i.e., 1 or 2) is used to carry the messages.
TABLE 1LSHB LS 012310000 (0)0000 (0)0000 (0)0000 (0)0010 (2)0001 (1)0001 (1)0001 (1)0100 (4)0100 (4)0010 (2)0010 (2)0110 (6)0101 (5)0011 (3)0011 (3)1000 (8)1000 (8)1000 (8)0100 (4)1010 (10)1001 (9)1001 (9)0101 (5)1100 (12)1100 (12)1010 (10)0110 (6)1110 (14)1101 (13)1011 (11)0111 (7)20001 (1)0010 (2)0100 (4)1000 (8)0011 (3)0011 (3)0101 (5)1001 (9)0101 (5)0110 (6)0110 (6)1010 (10)0111 (7)0111 (7)0111 (7)1011 (11)1001 (9)1010 (10)1100 (12)1100 (12)1011 (11)1011 (11)1101 (13)1101 (13)1101 (13)1110 (14)1110 (14)1110 (14)1111 (15)1111 (15)1111 (15)1111 (15)
Once the link set is selected, the SLS is used to determine the Signaling Link Code (SLC) within the link set. The distribution of the messages within the link set is dependent on the number of SLCs that the link set contains.
Within a single link set, distribution of the different SLS codes is accomplished by assigning the first SLS code (i.e., 0) to the first SLC (i.e., 0). The next SLS code is assigned to the next SLC (i.e., SLS=1 is assigned to SLC=1, SLS=2 is assigned to SLC=2, etc.). Once the last SLC defined has been assigned to an SLS, then a return is made to the first SLC and SLS codes are continuously assigned. See Table 2, below, as an example of assignments for SLS codes 0 through 15, as assigned to SLCs 0, 1, 2, and 3. It should be noted that the MTP user (e.g., the ISDN User Part “ISUP”, the Telephone User's Part “TUP”, and/or the Data User Part “DUP”), the Signaling Connection Control Part “SCCP”, and Transaction Capabilities Application part “TCAP” assign SLS codes to messages so as to ensure that all sixteen of the SLS codes are used as evenly as possible.
TABLE 2SLC =01230123456789101112131415
Unfortunately, following the recommendations of the ITU-T Q.704 does not lead to even distribution of network traffic. While some signaling links are congested, others are not fully loaded. For example, in the case of two load shared link sets, the recommended maximum number of signaling links is eight, because using more than eight signaling links will result in unused signaling link codes. Further, even when the difference between any two signaling links belonging to the same link set is only one SLS code, it should be noted that previous load sharing between link sets may mean that the link set will not contain all 16 of the SLS codes. For example, using column LSHB=0 of Table 1, SLS=0, 2, 4, 6, 8, 10, 12, and 14 are assigned to LS1. Thus, when these SLS codes are distributed into the link set using Table 2 (having four signaling links per link set), SLC=0, 2 each have four link sets, and SLC=1, 3 have no link sets. This problem can be seen in Table 3 below.
TABLE 3# of SLsLSHBfor LS101232SL1-0,2,4,6,8,10,SL1-0,4,8,12-50%SL1-0,2,8,10-50%SL1-0,2,4,6-50%12,14--100%SL2-1,5,9,13-50%SL2-1,3,9,11-50%SL2-1,3,5,7-50%SL2-0%3SL1-0,6,12-37.5%SL1-0,9,12-37.5%SL1-0,3,9-37.5%SL1-0,3,6-37.5%SL2-4,10-25%SL2-1,4,13-37.5%SL2-1,10-25%SL2-1,4,7-37.5%SL3-2,8,14-37.5%SL3-5,8-25%SL3-2,8,11-37.5%SL3-2,5-25%4SL1-0,4,8,12-50%SL1-0,4,8,12-50%SL1-0,8-25%SL1-0,4-25%SL2-0%SL2-1,5,9,13-50%SL2-1,9-25%SL2-1,5-25%SL3-2,6,10,14-50%SL3-0%SL3-2,10-25%SL3-2,6-25%SL4-0%SL4-0%SL4-3,11-25%SL4-3,7-25%5SL1-0,10-25%SL1-0,5-25%SL1-0,10-25%SL1-0,5-25%SL2-6-12.5%SL2-1-12.5%SL2-1,11-25%SL2-1,6-25%SL3-2,12-25%SL3-12-12.5%SL3-2-12.5%SL3-2,7-25%SL4-8-12.5%SL4-8,13-25%SL4-3,8-25%SL4-3-12.5%SL5-4,14-25%SL5-4,9-25%SL5-9-12.5%SL5-4-12.5%6SL1-0,6,12-37.5%SL1-0,12-25%SL1-0-12.5%SL1-0,6-25%SL2-0%SL2-1,13-25%SL2-1-12.5%SL2-1,7-25%SL3-2,8,14-37.5%SL3-8-12.5%SL3-2,8-25%SL3-2-12.5%SL4-0%SL4-9-12.5%SL4-3,9-25%SL4-3-12.5%SL5-4,10-25%SL5-4-12.5%SL5-10-12.5%SL5-4-12.5%SL6-0%SL6-5-12.5%SL6-11-12.5%SL6-5-12.5%7SL1-0,14-25%SL1-0-12.5%SL1-0-12.5%SL1-0,7-25%SL2-8-12.5%SL2-1,8-25%SL2-1,8-25%SL2-1-12.5%SL3-2-12.5%SL3-9-12.5%SL3-2,9-25%SL3-2-12.5%SL4-10-12.5%SL4-0%SL4-3,10-25%SL4-3-12.5%SL5-4-12.5%SL5-4-12.5%SL5-11-12.5%SL5-4-12.5%SL6-12-12.5%SL6-5,12-25%SL6-0%SL6-5-12.5%SL7-6-12.5%SL7-13-12.5%SL7-0%SL7-6-12,5%8SL1-0,8-25%SL1-0,8-25%SL1-0,8-25%SL1-0-12.5%SL2-0%SL2-1,9-25%SL2-1,9-25%SL2-1-12.5%SL3-2,10-25%SL3-0%SL3-2,10-25%SL3-2-12.5%SL4-0%SL4-0%SL4-3,11-25%SL4-3-12.5%SL5-4-12-25%SL5-4,12-25%SL5-0%SL5-4-12.5%SL6-0%SL6-5,13-25%SL6-0%SL6-5-12.5%SL7-6,14-25%SL7-0%SL7-0%SL7-6-12.5%SL8-0%SL8-0%SL8-0%SL8-7-12.5%
Table 3 details the signaling link assignment within a single link set (i.e., LS1). The assignment of SLS codes to each signaling link leads to uneven distribution of the traffic that each signaling link handles. The percentage values indicate the percentage of traffic handled by each signaling link within the link set. The distribution percentage figures are obtained by first determining the SLS codes for the first link set using Table 1, and then assigning those codes according to the distribution of SLS codes for signaling links belonging to the link set according to Table 2. As can be seen from Table 3, out of the 64 possible cases, only seven result in even distribution of network traffic. Four of these seven cases include the scenario where all SLS codes are assigned to a single signaling link code.
The result of the current system may provide equal distribution of messages between link sets; however, the message distribution within a link set (i.e., between signaling links) may be unequal. An example of this can be seen in FIGS. 1 and 2, where the LSHB method is used to distribute messages between various link sets from the message origin to its destination. Thus, it is readily apparent that even when the load is balanced between link sets, the distribution of messages within a link set (between signaling links) depends on the number of signaling links within each link set, and the connections available between link sets. Thus, the root of the problem is that it is difficult to distribute message traffic evenly when less than all of the SLS codes are passed on to the link sets.
Another difficulty with network traffic arises from the decreasing need for inseqence message delivery service, described by ITU-T document Q.700 Introduction to CCIT Signaling System No. 7 (incorporated herein by reference in its entirety). In-sequence delivery is normally used when the application sends more data than one message can handle, and either the application or the SCCP segments the data into two or more messages. However, as mobile applications are among the fastest growing users of the SS7 network, there is no need for in-sequence delivery of messages under the ANSI-41 standard. Further, for global system mobile communications (GSM), only a few of the messages require in-sequence delivery. Finally, with the introduction in the near future of long messages (up to 4 k octets) in the SS7 networks, the need for in-sequence message delivery will decrease further.
Thus, what is needed is a method and apparatus for using out-of-sequence message delivery service by the MTP. Such a method and apparatus should improve message load distribution within link sets, and remove the prior art limitation of the number of load shared link sets and signaling links for a given destination. The method and apparatus should be available for an MTP user, or, alternatively, on a per-message basis. The method and apparatus should be usable at an originating node, and also with an indication to be sent along with messages as a way of improving traffic distribution at various Signaling Transfer Points (STPs) along the way.